The present invention relates to wireless personal area networks and wireless local area networks. More particularly, the present invention relates to systems, methods, devices, and computer program products for facilitating communications between multiple overlapping or adjacent wireless personal area networks or wireless local area networks.
The International Standards Organization's (ISO) Open Systems Interconnection (OSI) standard provides a seven-layered hierarchy between an end user and a physical device through which different systems can communicate. Each layer is responsible for different tasks, and the OSI standard specifies the interaction between layers, as well as between devices complying with the standard.
FIG. 1 shows the hierarchy of the seven-layered OSI standard. As seen in FIG. 1, the OSI standard 100 includes a physical layer 110, a data link layer 120, a network layer 130, a transport layer 140, a session layer 150, a presentation layer 160, and an application layer 170.
The physical (PHY) layer 110 conveys the bit stream through the network at the electrical, mechanical, functional, and procedural level. It provides the hardware means of sending and receiving data on a carrier. The data link layer 120 describes the representation of bits on the physical medium and the format of messages on the medium, sending blocks of data (such as frames) with proper synchronization. The networking layer 130 handles the routing and forwarding of the data to proper destinations, maintaining and terminating connections. The transport layer 140 manages the end-to-end control and error checking to ensure complete data transfer. The session layer 150 sets up, coordinates, and terminates conversations, exchanges, and dialogs between the applications at each end. The presentation layer 160 converts incoming and outgoing data from one presentation format to another. The application layer 170 is where communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified.
The IEEE 802 Committee has developed a three-layer architecture for local networks that roughly corresponds to the physical layer 110 and the data link layer 120 of the OSI standard 100. FIG. 2 shows the IEEE 802 standard 200.
As shown in FIG. 2, the IEEE 802 standard 200 includes a physical (PHY) layer 210, a media access control (MAC) layer 220, and a logical link control (LLC) layer 225. The PHY layer 210 operates essentially as the PHY Layer 110 in the OSI standard 100. The MAC and LLC layers 220 and 225 share the functions of the data link layer 120 in the OSI standard 100. The LLC layer 225 places data into frames that can be communicated at the PHY layer 210; and the MAC layer 220 manages communication over the data link, sending data frames and receiving acknowledgement (ACK) frames. Together the MAC and LLC layers 220 and 225 are responsible for error checking as well as retransmission of frames that are not received and acknowledged.
FIG. 3 is a block diagram of a wireless network 305 that could use the IEEE 802 standard 200, specifically the proposed IEEE 802.15 standard. In a preferred embodiment the network 305 is a wireless personal area network (WPAN), or piconet. However, it should be understood that the present invention also applies to other settings where bandwidth is to be shared among several users, such as, for example, wireless local area networks (WLAN), or any other appropriate wireless network.
When the term piconet is used, it refers to a network of devices connected in an ad hoc fashion, having one device act as a controller (i.e., it functions as a master) while the other devices follow the instructions of the controller (i.e., they function as slaves). The controller can be a designated device, or simply one of the devices chosen to function as a controller. One primary difference between devices and the controller is that the controller must be able to communicate with all of the devices in the network, while the various devices need not be able to communicate with all of the other devices in the network.
As shown in FIG. 3, the network 305 includes a controller 310 and a plurality of devices 321–325. The controller 310 serves to control the operation of the network 305. As noted above, the system of controller 310 and devices 321–325 may be called a piconet, in which case the controller 310 may be referred to as a piconet controller (PNC). Each of the devices 321–325 must be connected to the controller 310 via primary wireless links 330, and may also be connected to one or more other devices 321–325 via secondary wireless links 340. Each device 321–325 of the network 305 may be a different wireless device, for example, a digital still camera, a digital video camera, a personal data assistant (PDA), a digital music player, or other personal wireless device.
In some embodiments the controller 310 may be the same sort of device as any of the devices 321–325, except with the additional functionality for controlling the system and the requirement that it communicate with every device 321–325 in the network 305. In other embodiments the controller 310 may be a separate designated control device.
The various devices 321–325 are confined to a usable physical area 350, which is set based on the extent to which the controller 310 can successfully communicate with each of the devices 321–325. Any device 321–325 that is able to communicate with the controller 310 (and vice versa) is within the usable area 350 of the network 305. As noted, however, it is not necessary for every device 321–325 in the network 305 to communicate with every other device 321–325.
FIG. 4A is a block diagram of a controller 310 or a device 321–325 from the network 305 of FIG. 3. As shown in FIG. 4A, each controller 310 or device 321–325 includes a physical (PHY) layer 410, a media access control (MAC) layer 420, a set of upper layers 430, and a management entity 440.
The PHY layer 410 communicates with the rest of the network 305 via a primary or secondary wireless link 330 or 340. It generates and receives data in a transmittable data format and converts it to and from a format usable through the MAC layer 420. The MAC layer 420 serves as an interface between the data formats required by the PHY layer 410 and those required by the upper layers 430. The upper layers 205 include the functionality of the device 321–325. These upper layers 430 may include TCP/IP, TCP, UDP, RTP, IP, LLC, or the like.
Typically, the controller 310 and the devices 321–325 in a WPAN share the same bandwidth. Accordingly, the controller 310 coordinates the sharing of that bandwidth. Standards have been developed to establish protocols for sharing bandwidth in a wireless personal area network (WPAN) setting. For example, the IEEE standard 802.15.3 is being developed to provide a specification for the PHY layer 410 and the MAC layer 420 in such a setting where bandwidth is shared using time division multiple access (TDMA). Using this standard, the MAC layer 420 defines frames and super-frames through which the sharing of the bandwidth by the devices 321–325 is managed by the controller 310 and/or the devices 321–325.
FIG. 4B illustrates an exemplary structure of a series of super-frames having a plurality of time slots during a contention free period according to a conventional method of operation. As shown in FIG. 4A, the data transmission scheme includes transmitting successive super-frames 450 in time across the network 300. Each super-frame 450 includes a beacon 460, an optional contention access period (CAP) 470, and a contention free period (CFP) 480. The contention free period 480 includes one or more time slots 490. These can be guaranteed time slots (GTSs), management time slots (MTSs), or other types of time slots, as desired by the network operation.
The super-frame 450 itself is a fixed time construct that is repeated in time. The specific duration of the super-frame 450 is described in the beacon 460. In actuality the beacon 460 includes information regarding how often the beacon 460 is repeated, which effectively corresponds to the duration of the super-frame 450. The beacon 460 also contains information regarding the network 300 and the identity of the controller 310.
In operation, the controller 310 uses the beacon 460 to define and assign the time slots 490. All devices 321–325 listen to the controller 310 during the beacon period 460. Each device 321–325 will receive zero or more time slots 490, being notified of each start time and duration from the controller 310 during the beacon period 460. This beacon information uses what is often called TLV format, which stands for type, length, and value. As a result, each device knows when to transmit and when to receive. The beacon period 460, therefore, is used to coordinate the transmitting and receiving of the devices 321–325.
The controller 310 sends the beacon 460 to all of the devices 321–325 at the beginning of each super-frame 450. The beacon 460 tells each device 321–325 the duration or super-frame 450 as well as other information about its MAC address, e.g., the size and duration of the contention access period 470, if any, and the duration of the contention free period 480.
Each beacon 460 will contain information that is not precisely a channel time allocation (CTA). One piece of information will define the beacon period 460 and describe the start time and the duration for the beacon period 460. Another will define the contention access period 470, if any, and describe the start time and the duration for the contention access period 470. Each beacon can also have multiple CTAs. There will be a CTA for each of the time slots 490. Using dynamic time slots 490, the slot assignments can change every super-frame with modified CTAs.
The network can pass control and administrative information between the controller 310 and the various devices 321–325 through the contention access period 470 or during a management time slot. For example, this can involve information about new devices that want to join the network 300.
If a new device 321–325 desires to be added to the network 300, it requests entry from the controller 310 in the contention access period 330 or during an association management time slot.
Individual devices then transmit data packets during the contention free period 480. The devices 321–325 use the time slots 490 assigned to them to transmit data packets to other devices (which may include the controller 310 if the controller 310 is also a device 321–325 within the network 300). Each device 321–325 may send one or more packets of data, and may request an immediate acknowledgement (ACK) frame from the recipient device 321–325 indicating that the packet was successfully received, or may request a delayed (grouped) acknowledgement. If an immediate ACK frame is requested, the transmitting device 321–325 should allocate sufficient time in the time slot 490 to allow for the ACK frame to arrive.
It is necessary to organize which devices 321–325 will be transmitting and which will be listening to avoid collisions of transmitted data. For example if device one 321 and device four 324 both try and transmit data at the same time, this data may collide and cause the receiving devices to fail in acquiring and receiving the signal.
The reason we allocate individual time slots 490 in the super-frame 450 is because when a given device, e.g., device one 321, is transmitting to another device, e.g., device five 325, it's really broadcasting its signal to everyone, i.e., broadcasting on the open air where anyone who happens to be listening can hear. We would prefer that while device one 321 was transmitting, device five 325 was the only device that was listening. This is basically a TDMA approach. Since the broadcast medium is wireless, when one device is transmitting the system has to limit who else can use the channel.
Since each particular device 321–325 knows its transmit start time and duration from information received during the beacon period 460, each device 321–325 can remain silent until it is its turn to transmit.
The time slots 490 shown in this embodiment may be of differing sizes. The starting times and durations of the time slots 490 are determined by the controller 310 and sent to the devices 321–325 in the beacon 460.
Using current networking topologies, devices in each network communicate wirelessly only with other devices in the same network. In order for a first device in one wireless network to communicate with a second device in another wireless network, the first device would have to use a wired backbone such as Ethernet, HomePNA, or HomePLUG to make the connection.
In this kind of a system, each wireless network forms a cell, and individual cells are connected via a wired backbone. Both IEEE 802.11 systems and HomeRF rely upon this sort of wired infrastructure topology.
Furthermore, in such networking schemes ad-hoc networking is rarely supported. And when it is supported, it is generally limited to a single piconet with no connection possible to other ad-hoc networks.
Another drawback of the infrastructure-based approach is its dependence on the wired backbone for linking networks to each other. In any given situation, there is no guarantee that this wired backbone will be available. Furthermore, most of the wired backbones that are in use today in home environments do not support the speed or quality of service requirements needed to handle multimedia applications.
It would therefore be advantageous to provide a way by which networks could communicate with adjacent networks without the need for a fixed wired backbone.